package com.study.controller.HRcontroller;

import java.util.Date;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.study.model.pojo.HRpojo.EmpTab;
import com.study.model.pojo.PSIpojo.CustomerTab;
import com.study.service.HRservice.CustomerService;

//1、解决跨域
@CrossOrigin
@RestController
@RequestMapping("/cusFind")
public class CustomerController {

	@Autowired
	CustomerService cusService;
	
	/**
	 * 查询所有的客户信息
	 * @return
	 */
	//访问地址：http://localhost:8089/cusFindAll
	@RequestMapping("cusFindAll")
	//@ResponseBody		将List集合以JSON数组的形式返回，页面不跳转
	public List<CustomerTab> findAll(){
		return cusService.findAll();
	}
	
	/**
	 * 新增客户
	 * @param cus
	 * @return
	 */
	@PostMapping("addCus")
	public List<CustomerTab> addCus(CustomerTab cus) {
		//创建员工对象，保存到客户信息里面，与员工表关联
		EmpTab emptab = new EmpTab();

		//关联员工编号，目前为死值，后期整合时获取当前登录人的id
		emptab.setEmpid("emp20170910001");

		//设置最后录入时间为系统当前时间
		cus.setCuswrited(new Date());
		cus.setCusedopd(new Date());
		//将员工对象保存到供应商对象中
		cus.setEmpTab(emptab);
		System.out.println(cus.getCusname());
		//调用业务层的方法，进行保存，返回一个保存后的实体对象
		CustomerTab addCus = cusService.addCus(cus);
		System.out.println(cusService.findAll().size());
		return cusService.findAll();
	}

	/**
	 * 根据id修改状态
	 * @param param
	 * @return
	 */
	@PostMapping("upCusstate")
	public List<CustomerTab> updateCusstate(int param) {
		//根据前端传过来的供应商id，修改该条数据的状态
		CustomerTab updateCusstate = cusService.updateCusstate(param);
		return cusService.findAll();
	}
	
	/**
	 * 编辑客户信息
	 * @param cus
	 * @return
	 */
	@PostMapping("editCus")
	public List<CustomerTab> updateCus(CustomerTab cus) {
		//创建员工对象，保存到供应商对象中，保存供应商时关联员工
		EmpTab emptab = new EmpTab();
		System.out.println(cus.getCusname() + "------------" + cus.getCusid());
		//将员工编号存入客户信息中，关联员工表，目前设的是死值，后期获取当前登录人员id
		emptab.setEmpid("emp20170910001");

		//将员工对象保存到供应商对象中
		cus.setEmpTab(emptab);
		//最后录入时间为系统默认时间
		cus.setCusedopd(new Date());
		//将改完后的客户信息重新保存到客户对象中
		CustomerTab editCus = cusService.editCus(cus);
		return cusService.findAll();
	}
	
}
